An individual identification (IC) card is usually equipped with a single chip microcomputer and featured with multiple functions. Recently, the application field of IC cards is being expanded to the individual employees of a company. In such case, the use of IC cards is limited to time-cards as well as cards for settling food costs in an employee's restaurant in which management of things such as security, etc., is very easy and in which the features of the IC card are not used efficiently.
FIG. 2 shows a general construction of a conventional single chip microcomputer used in such IC card or other control devices.
In FIG. 2, the microcomputer is shown with an instruction decoder (ID-ROM) 1, a ROM 2 for storing instruction codes (PROG-ROM), a program counter 3 and an operation circuit (ALU) 4.
The PROG-ROM 2 stores an application program 2a represented as a collection of instruction codes.
Although it further includes registers and a RAM etc., details thereof are omitted here for simplicity of description.
With such construction, the application program 2a is executed according to the following procedure.
First, an instruction code B at an address A of the PROG-ROM 2 indicated by the program counter 3 is written to instruction decoder 1.
Then, in response to the instruction code B, the instruction decoder 1 decodes a memory content thereat and produces a control signal C for the program counter 3 and a control D for the operation circuit 4, etc.
The operation circuit 4 responds to the control signal D by performing an arithmetic operation such as addition or shifting, a resultant of which being stored in a register (not shown), etc.
The program counter 3 responds to the control signal C to increment the value of address A, i.e., jump to the next address.
By successively processing a series of instruction codes of the application program 2a in this manner, the program is executed.
Thus, various functions of the single chip microcomputer used as an IC card are realized.
Such an IC card is equipped with a single chip microcomputer by which various functions are realized according to the application program.
Up to now, such an IC card has not become as popular as expected in view of its cost as well as security problems.
Among others, the cost problem may be quickly overcome by the economical effect of mass production, if it becomes as popular as other IC cards.
However, with respect to the security problem, such a quick resolution cannot be expected. Therefore, this problem must be solved on a purely technically basis. Particularly, a bank IC card which is expected to be a key for the popularization of IC cards requires a high level of security.
For example, the security level required by such a bank IC card is much higher than that used in the conventional employee's IC card in which coding of communication data and ID checking are both performed by software. This is because of the possibility that a set of instructions contained in a microcomputer according to its architecture, i.e. an instruction set, is understood from a construction of an instruction decoder and memory content thereof add the content of program is understood by reading codes of the application program 2a.
In order to reduce cost of a single chip microcomputer and hence popularize IC cards, some hardware means for realizing high level security has been needed.